Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion antora-playbook.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ asciidoc:
page-pagination: ''
table-frame: 'none@'
table-grid: 'rows@'
version: '1.3.0' # <-- Latest LibrePCB version.
version: '2.0.0' # <-- Latest LibrePCB version.
ui:
bundle:
url: https://gitlab.com/antora/antora-ui-default/-/jobs/artifacts/HEAD/raw/build/ui-bundle.zip?job=bundle-stable
Expand Down
2 changes: 2 additions & 0 deletions modules/cli/nav.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,7 @@
** xref:installation.adoc[]
** xref:help.adoc[]
** xref:open-library.adoc[]
** xref:open-symbol.adoc[]
** xref:open-package.adoc[]
** xref:open-project.adoc[]
** xref:open-step.adoc[]
2 changes: 2 additions & 0 deletions modules/cli/pages/help.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,10 @@ Arguments:

Commands:
open-library Open a library to execute library-related tasks.
open-package Open a package to execute package-related tasks.
open-project Open a project to execute project-related tasks.
open-step Open a STEP model to execute STEP-related tasks outside of a library.
open-symbol Open a symbol to execute symbol-related tasks.

List command-specific options:
./librepcb-cli <command> --help
Expand Down
2 changes: 1 addition & 1 deletion modules/cli/pages/open-library.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ Arguments:
== Examples

[discrete]
=== Check Library Elements and Upgrade File Format
=== Check Library Elements

This command is useful for Continuous Integration of LibrePCB libraries because
it reports failure if you check in libraries with invalid or non-canonical
Expand Down
31 changes: 31 additions & 0 deletions modules/cli/pages/open-package.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
= Command "open-package"

This command opens a LibrePCB package and lets you execute some tasks with it.

.Command
[source,bash]
----
./librepcb-cli open-package --help
----

.Output
----
Usage: ./librepcb-cli [options] open-package [command_options] package
LibrePCB Command Line Interface

Options:
-h, --help Print this message.
-V, --version Displays version information.
-v, --verbose Verbose output.
--check Run the package check, print all non-approved messages and
report failure (exit code = 1) if there are non-approved
messages.
--export <file> Export the contained footprint(s) to a graphical file.
Supported file extensions: pdf, svg, bmp, cur, icns, ico,
jfif, jpeg, jpg, pbm, pgm, png, ppm, tif, tiff, wbmp, webp,
xbm, xpm

Arguments:
open-package Open a package to execute package-related tasks.
package Path to package directory (containing *.lp).
----
37 changes: 23 additions & 14 deletions modules/cli/pages/open-project.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -38,37 +38,46 @@ Options:
--outdir <path> Override the output base directory of
jobs. If not set, the standard output
directory from the project is used.
--export-schematics <file> Export schematics to given file(s).
--export-schematics <file> [DEPRECATED, REPLACED BY: --run-jobs]
Export schematics to given file(s).
Existing files will be overwritten.
Supported file extensions: pdf, svg, bmp,
cur, ico, jpeg, jpg, pbm, pgm, png, ppm,
xbm, xpm
--export-bom <file> Export generic BOM to given file(s).
cur, icns, ico, jfif, jpeg, jpg, pbm, pgm,
png, ppm, tif, tiff, wbmp, webp, xbm, xpm
--export-bom <file> [DEPRECATED, REPLACED BY: --run-jobs]
Export generic BOM to given file(s).
Existing files will be overwritten.
Supported file extensions: csv
--export-board-bom <file> Export board-specific BOM to given
file(s). Existing files will be
overwritten. Supported file extensions: csv
--bom-attributes <attributes> Comma-separated list of additional
--export-board-bom <file> [DEPRECATED, REPLACED BY: --run-jobs]
Export board-specific BOM to given file(s).
Existing files will be overwritten.
Supported file extensions: csv
--bom-attributes <attributes> [DEPRECATED, REPLACED BY: --run-jobs]
Comma-separated list of additional
attributes to be exported to the BOM.
Example: "SUPPLIER, SKU"
--export-pcb-fabrication-data Export PCB fabrication data
--export-pcb-fabrication-data [DEPRECATED, REPLACED BY: --run-jobs]
Export PCB fabrication data
(Gerber/Excellon) according the fabrication
output settings of boards. Existing files
will be overwritten.
--pcb-fabrication-settings <file> Override PCB fabrication output settings
by providing a *.lp file containing custom
--pcb-fabrication-settings <file> [DEPRECATED, REPLACED BY: --jobs] Override
PCB fabrication output settings by
providing a *.lp file containing custom
settings. If not set, the settings from the
boards will be used instead.
--export-pnp-top <file> Export pick&place file for automated
--export-pnp-top <file> [DEPRECATED, REPLACED BY: --run-jobs]
Export pick&place file for automated
assembly of the top board side. Existing
files will be overwritten. Supported file
extensions: csv, gbr
--export-pnp-bottom <file> Export pick&place file for automated
--export-pnp-bottom <file> [DEPRECATED, REPLACED BY: --run-jobs]
Export pick&place file for automated
assembly of the bottom board side. Existing
files will be overwritten. Supported file
extensions: csv, gbr
--export-netlist <file> Export netlist file for automated PCB
--export-netlist <file> [DEPRECATED, REPLACED BY: --run-jobs]
Export netlist file for automated PCB
testing. Existing files will be
overwritten. Supported file extensions:
d356
Expand Down
30 changes: 30 additions & 0 deletions modules/cli/pages/open-symbol.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
= Command "open-symbol"

This command opens a LibrePCB symbol and lets you execute some tasks with it.

.Command
[source,bash]
----
./librepcb-cli open-symbol --help
----

.Output
----
Usage: ./librepcb-cli [options] open-symbol [command_options] symbol
LibrePCB Command Line Interface

Options:
-h, --help Print this message.
-V, --version Displays version information.
-v, --verbose Verbose output.
--check Run the symbol check, print all non-approved messages and
report failure (exit code = 1) if there are non-approved
messages.
--export <file> Export the symbol to a graphical file. Supported file
extensions: pdf, svg, bmp, cur, icns, ico, jfif, jpeg, jpg,
pbm, pgm, png, ppm, tif, tiff, wbmp, webp, xbm, xpm

Arguments:
open-symbol Open a symbol to execute symbol-related tasks.
symbol Path to symbol directory (containing *.lp).
----
13 changes: 3 additions & 10 deletions modules/installation/pages/build-from-sources.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,17 @@

To compile LibrePCB, you need to install the following tools & libraries first:

* pass:[g++], MinGW or Clang (any version with pass:[C++17] support should work)
* pass:[g++], MinGW or Clang (any version with pass:[C++20] support should work)
* https://www.rust-lang.org/[Rust] >= 1.88 toolchain (GNU, not MSVC)
* http://www.qt.io/download-open-source/[Qt] >= 6.2 (make sure the
https://doc.qt.io/qt-6/qtimageformats-index.html[imageformats] plugin
is installed too as it will be needed at runtime)
* https://www.opencascade.com/[OpenCASCADE] OCCT or OCE (optional, OCCT
highly preferred)
* https://en.wikipedia.org/wiki/OpenGL_Utility_Library[OpenGL Utility Library]
GLU (optional)
* http://www.zlib.net/[zlib]
* https://www.openssl.org/[OpenSSL]
* https://cmake.org/[CMake] 3.16 or newer

[IMPORTANT]
====
Actually LibrePCB 1.2.0 still compiles with Qt5, but unfortunately contains a
serious bug at runtime. Therefore you really need to use Qt6 where the bug
doesn't exist. We'll drop support for Qt5 soon anyway.
====
* https://cmake.org/[CMake] 3.22 or newer

== Get the Sources

Expand Down
9 changes: 0 additions & 9 deletions modules/installation/pages/windows.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,6 @@ The recommended way to install LibrePCB is to use the installer.
*Just download and run {installer-url}[{installer-filename}].*
Afterwards you'll find LibrePCB in your start menu.

[IMPORTANT]
====
Unfortunately we're not able yet to sign our Windows installer (it's quite
expensive to do it). Therefore Windows might warn that the publisher of the
installer is unknown. This is normal for binaries without paying for a
signature, therefore just click on btn:[More info] and then btn:[Run anyway]
to skip the warning.
====

[NOTE]
====
For automated (unattended) installation, please check out the command-line
Expand Down
Binary file modified modules/quickstart/images/board-3d.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified modules/quickstart/images/board-add-device.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed modules/quickstart/images/board-design-rules.png
Binary file not shown.
Binary file modified modules/quickstart/images/board-draw-plane.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified modules/quickstart/images/board-draw-trace.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed modules/quickstart/images/board-drc-dock.png
Binary file not shown.
Binary file removed modules/quickstart/images/board-drc-settings.png
Binary file not shown.
Binary file added modules/quickstart/images/board-drc.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added modules/quickstart/images/board-init.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified modules/quickstart/images/board-order.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified modules/quickstart/images/board-outlines.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added modules/quickstart/images/board-setup-dialog.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed modules/quickstart/images/component-editor.png
Binary file not shown.
Binary file removed modules/quickstart/images/control-panel-empty.png
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified modules/quickstart/images/create-component-category.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified modules/quickstart/images/create-component-metadata.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Diff not rendered.
Binary file added modules/quickstart/images/create-device-parts.png
Diff not rendered.
Binary file removed modules/quickstart/images/create-device.png
Diff not rendered.
Binary file modified modules/quickstart/images/create-package-category.png
Binary file modified modules/quickstart/images/create-package-metadata.png
Binary file modified modules/quickstart/images/create-package-pads.png
Binary file modified modules/quickstart/images/create-project-editors.png
Binary file modified modules/quickstart/images/create-project-init.png
Binary file modified modules/quickstart/images/create-project-metadata.png
Binary file modified modules/quickstart/images/create-symbol.png
Binary file modified modules/quickstart/images/erc-messages.png
Binary file added modules/quickstart/images/libraries-create.png
Binary file added modules/quickstart/images/libraries-install.png
Binary file added modules/quickstart/images/libraries-open.png
Binary file modified modules/quickstart/images/library-editor-new-element.png
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Binary file added modules/quickstart/images/main-window-empty.png
Binary file modified modules/quickstart/images/output-jobs-bom.png
Binary file added modules/quickstart/images/output-jobs-button.png
Binary file modified modules/quickstart/images/output-jobs-gerber-excellon.png
Binary file modified modules/quickstart/images/output-jobs-pnp.png
Binary file modified modules/quickstart/images/output-jobs.png
Binary file modified modules/quickstart/images/package-3d-model.png
Binary file modified modules/quickstart/images/package-add-text.png
Binary file modified modules/quickstart/images/package-draw-polygon.png
Binary file modified modules/quickstart/images/package-place-pad.png
Binary file modified modules/quickstart/images/schematic-add-device.png
Binary file modified modules/quickstart/images/schematic-add-frame.png
Binary file modified modules/quickstart/images/schematic-draw-wire.png
Binary file modified modules/quickstart/images/schematic-netlabels.png
Binary file modified modules/quickstart/images/symbol-add-pin.png
Binary file modified modules/quickstart/images/symbol-add-text.png
Binary file modified modules/quickstart/images/symbol-draw-polygon.png
Binary file modified modules/quickstart/images/workspace-wizard-path.png
Binary file modified modules/quickstart/images/workspace-wizard-settings.png
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
= Component Category

First you should create a component category for the {example-part-name}
(if it doesn't exist already). Open
menu:New Library Element[Component Category], choose a suitable (generic!)
name and select a parent category. *You may first need to create the
required parent categories.*
(if it doesn't exist already). Click on btn:[New Component Category] in the
library editor, choose a suitable (generic!) name and select a parent category.
*You may first need to create the required parent categories.*

[NOTE]
====
Expand All @@ -29,11 +28,14 @@ don't use a nesting level higher than 3 levels (usually 2 levels are
enough).
====

image::create-component-category.png[alt="Create component category"]
image::create-component-category.png[alt="Create Component Category"]

After clicking on btn:[Finish], your first component category is already
After clicking on btn:[Save], your first component category is already
complete! It may just take a moment for the background library scan until
the new component category appears in the category trees.
the new component category appears in the category trees. Then you will see
the new category in your library:

image::create-component-category-finished.png[alt="The New Component Category"]

.Component categories available in the _LibrePCB Base_ library
[%collapsible]
Expand Down
71 changes: 38 additions & 33 deletions modules/quickstart/pages/create-library-elements/component.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,14 @@ Because it is still very generic (beside the {example-part-name} there
are many other OpAmps with exactly the same functionality), you should
enter a generic name like _Single OpAmp_.

Open menu:New Library Element[Component], enter the name and assign the
component category we created previously:
Choose btn:[New Component], enter the name, assign the component category we
created previously, and specify its prefix and default value (see explanations
below):

image::create-component-metadata.png[alt="Create component"]
image::create-component-metadata.png[alt="Create Component"]

== Set Properties

After clicking on btn:[Next] you're asked to specify some properties of
the component:
Of course you may also set more properties, but it's not strictly required.
The most important properties beside name and categories are:

Schematic-Only::
Check this if the component must not appear on a board, but only in
Expand All @@ -36,23 +35,28 @@ Default Value::
unsure, just leave it empty, the component editor will help you to
assign a value later.

image::create-component-properties.png[alt="Set component properties"]
After specifying the properties, click on btn:[Next].

[#add-symbols]
== Add Symbols (aka _Gates_)
== Add Gates

Now you need to choose the symbols which represent the component in
schematics (also called _gates_). Most components have only one symbol,
but you can also add more than one, for example an OpAmp could have
separate symbols for power and amplifier. In our case, select the
_Single OpAmp_ symbol we created previously:
schematics, called _gates_ in this context. Most components have only
one gate, but you can also add more than one. For example a Quad OpAmp
could consist of a power gate and four amplifier gates. In our case,
select the _Single OpAmp_ symbol we created previously:

image::create-component-add-gate.png[alt="Add Component Gate"]

image::create-component-add-symbol.png[alt="Add component symbol"]
After you added all the required gates (usually only one), it is possible
to rename the pins, which are called _signals_ in this context. Renaming is
required for example to ensure unique signal names if you add multiple
identical gates, or to simply choose more expressive names if the symbol
pin names are not suitable for a particular component. Often you can just
keep the symbol pin names as-is:

Don't forget to click on the btn:[*+*] button after closing the symbol
chooser dialog. Then click on btn:[Next].
image::create-component-review-gate.png[alt="Review Component Gate"]

== Add Signals
== Define Signals

The next step is to define all so-called signals of a component. Signals
represent the "electrical interface" of a component. For example a
Expand All @@ -61,28 +65,29 @@ For a component it's irrelevant whether the "real" transistor has
multiple emitter pads, or an additional thermal pad and so on -- the
component only specifies the three electrical signals.

LibrePCB automatically extracts the signals from the pins of the specified
symbols, so often you don't have to do this by hand. But sometimes you still
should adjust the names or properties of these signals. For our OpAmp, we
LibrePCB automatically extracts the signals from the gates you added in
the previous step, so usually you don't have to do this by hand. But
sometimes you still need to make some adjustments, like deleting unused
signals or changing the properties of some signals. For our OpAmp, we
check the _Required_ checkbox of all signals to ensure the ERC will raise
a warning if these signals are not connected to a net in the schematics:

image::create-component-signals.png[alt="Component signals"]

== Connect Pins To Signals

These signals now need to be assigned to the corresponding symbol pins
to create the connections. But since they were automatically generated
from the pins, you can just click on
btn:[Automatically assign all signals by name]:
image::create-component-review-signals.png[alt="Review Component Signals"]

image::create-component-pin-map.png[alt="Component pin-signal-map"]
== Review Pin-Signal-Map

== Component Editor
After clicking on btn:[Finish], the component is complete. It is highly
recommended to review the mapping from symbol pins to their component signals,
especially for more complicated cases like multi-gate components of if you
made any manual changes to the component signals in the previous step. If
there is any mistake, you can just correct the pin-signal-map with the
dropdowns:

After clicking on btn:[Finish], the component is complete:
image::create-component-review.png[alt="Component Editor"]

image::component-editor.png[alt="Component editor"]
In this component editor you can also make more changes, like hiding specific
symbol pin labels or specifying suffixes for gates, but that is not important
for now.

[NOTE]
====
Expand Down
Loading