### Extracting Component Information with Grep Source: https://context7.com/librepcb-libraries/nordic.lplib/llms.txt This section provides examples of using the grep command with standard Unix tools to extract component information from .lp files. It demonstrates how to find all component names, identify components with specific features like USB support, count pins per component, and search for keywords within component definitions. ```bash # Find all component names grep -h "^ (name " cmp/*/component.lp | sort # Output: # (name "nRF52810-CAxx") # (name "nRF52810-QCxx") # (name "nRF52810-QFxx") # (name "nRF52832-CIxx") # (name "nRF52832-QFxx") # (name "nRF52840-CKxx") # (name "nRF52840-QIxx") ``` ```bash # Find components with USB support grep -l "VBUS" cmp/*/component.lp ``` ```bash # Count pins per component for f in cmp/*/component.lp; do echo "$(basename $(dirname $f)): $(grep -c '^ (signal ' $f) pins" done ``` ```bash # Check which components have NFC in keywords grep -l "nfc" cmp/*/component.lp # Output: cmp/8bcf208e-d033-4122-894e-fa447289514d/component.lp (nRF52832-QFxx) cmp/cdab6acb-360f-4bea-bc2f-b7bfa29f3375/component.lp (nRF52832-CIxx) cmp/1335be7a-29cd-43f1-b38b-b01466032a02/component.lp (nRF52840-CKxx) cmp/34f2fedc-10fc-4f70-a3ae-e0481b3998f5/component.lp (nRF52840-QIxx) ``` -------------------------------- ### Display Library Directory Structure (Bash) Source: https://context7.com/librepcb-libraries/nordic.lplib/llms.txt Displays the directory structure of the LibrePCB library repository using the `tree` command. This helps in understanding the organization of components, documentation, and CI workflows. ```bash # Repository structure tree -L 2 . # Output: # . # ├── .github/ # │ └── workflows/ # │ └── main.yml # CI workflow for library validation # ├── cmp/ # Components directory # │ ├── 0a91342f-3d61-.../ ``` -------------------------------- ### CI Workflow for LibrePCB Library Validation Source: https://context7.com/librepcb-libraries/nordic.lplib/llms.txt This GitHub Actions workflow automates the validation of the LibrePCB library using the librepcb-cli tool. It checks out the repository, runs the library through a series of validation and checking steps in a Docker container, and reports any issues. ```yaml # .github/workflows/main.yml name: CI on: [push, pull_request] jobs: check: runs-on: ubuntu-22.04 container: image: librepcb/librepcb-cli:1.0.0-rc1 options: --entrypoint /bin/bash steps: - uses: actions/checkout@v1 - run: librepcb-cli open-library --all --strict --check --minify-step . ``` -------------------------------- ### List Component UUIDs and Names (Bash) Source: https://context7.com/librepcb-libraries/nordic.lplib/llms.txt Lists all components within the library's component directory, showing their UUIDs and corresponding device names and package types. This command utilizes standard shell utilities for file system navigation and filtering. ```bash # List all components with their UUIDs ls cmp/*/component.lp # Output: # cmp/0a91342f-3d61-45c0-ae68-4be3073542d5/component.lp -> nRF52810-QCxx (QFN32) # cmp/5e923d16-8c94-43ff-9d7a-433443cf8344/component.lp -> nRF52810-QFxx (QFN48) # cmp/eb5bb997-47a4-4c8e-99c1-b36988f2d4a9/component.lp -> nRF52810-CAxx (WLCSP33) # cmp/8bcf208e-d033-4122-894e-fa447289514d/component.lp -> nRF52832-QFxx (QFN48) # cmp/cdab6acb-360f-4bea-bc2f-b7bfa29f3375/component.lp -> nRF52832-CIxx (WLCSP50) # cmp/1335be7a-29cd-43f1-b38b-b01466032a02/component.lp -> nRF52840-CKxx (WLCSP93) # cmp/34f2fedc-10fc-4f70-a3ae-e0481b3998f5/component.lp -> nRF52840-QIxx (aQFN73) ``` -------------------------------- ### Pin-to-Signal Mapping in LibrePCB Components Source: https://context7.com/librepcb-libraries/nordic.lplib/llms.txt This Lisp code snippet illustrates the mapping process between component signals and symbol pins within a LibrePCB library. It shows how a component defines a signal with a UUID and name, how a symbol defines a pin with its properties, and how a variant gate explicitly links the symbol pin's UUID to the component signal's UUID. ```lisp ; Step 1: Component defines a signal with UUID and name (signal 024d9288-43a7-419b-ade5-62b5a65df84f (name "P0_21/!RST") (role passive) (required false) (negated false) (clock false) (forced_net "") ) ; Step 2: Symbol defines a pin with UUID, name, and position (pin 02275aba-e2ab-415d-9aa3-bad01be983c1 (name "P0_21/!RST") (position 15.24 -12.7) (rotation 180.0) (length 2.54) (name_position 3.81 0.0) (name_rotation 0.0) (name_height 2.5) (name_align left center) ) ; Step 3: Variant gate maps symbol pin UUID to component signal UUID (variant f70cb26c-5ff3-4e52-823a-fe0712f2f5c8 (norm "") (name "default") (description "") (gate 71308532-a0aa-4c99-8cd2-7ba89f4ad944 (symbol 98101e70-22a6-455f-813a-ef76f9d2d150) (position 0.0 0.0) (rotation 0.0) (required true) (suffix "") ; Maps symbol pin 02275aba... to component signal 024d9288... (pin 02275aba-e2ab-415d-9aa3-bad01be983c1 (signal 024d9288-43a7-419b-ade5-62b5a65df84f) (text signal)) ) ) ``` -------------------------------- ### Library Metadata Definition (LibrePCB Lisp) Source: https://context7.com/librepcb-libraries/nordic.lplib/llms.txt Defines the library's global configuration, including its name, description, author, version, dependencies, and manufacturer. This file is crucial for LibrePCB to identify and manage the library's components and their relationships. ```lisp (librepcb_library aa4b2d97-1c51-49a9-ace1-d50385edb5ae (name "Nordic Semiconductor") (description "Parts by Nordic Semiconductor (unofficial).") (keywords "nordic,nrf") (author "LibrePCB") (version "0.2") (created 2020-05-05T11:21:38Z) (deprecated false) (url "https://github.com/LibrePCB-Libraries/Nordic.lplib") (dependency a9ddf0c6-9b1c-4730-b300-01b4f192ad40) (manufacturer "Nordic Semiconductor") ) ``` -------------------------------- ### Lisp Component Definition for nRF52810-QCxx Source: https://context7.com/librepcb-libraries/nordic.lplib/llms.txt Defines a specific electronic component, the nRF52810-QCxx, using LibrePCB's Lisp-based format. It includes component metadata, signal definitions, and pin mappings to a schematic symbol. ```lisp (librepcb_component 0a91342f-3d61-45c0-ae68-4be3073542d5 (name "nRF52810-QCxx") (description "Bluetooth 5.2 SoC supporting Bluetooth Low Energy.\n\nQFN32 package variant.") (keywords "nrf52,nrf52810,bluetooth,ble,soc") (author "Danilo Bargen") (version "0.2") (created 2020-05-05T12:28:22Z) (deprecated false) (generated_by "") (category 22151601-c2d9-419a-87bc-266f9c7c3459) (category 7c698c64-e0f4-4885-bc29-566c4828071e) (schematic_only false) (default_value "{{MPN or DEVICE or COMPONENT}}") (prefix "U") ; Required power signals (signal 3eb0f697-0d5c-4682-888e-cfe0b7b08a3b (name "VDD") (role passive) (required true) (negated false) (clock false) (forced_net "") ) (signal ba04b325-a8d4-4680-a096-b2705dca350d (name "VSS") (role passive) (required true) (negated false) (clock false) (forced_net "") ) ; GPIO signals with alternate functions (signal a6d7a503-b1bc-453f-a49c-2f543e3848c0 (name "P0_00/XL1") (role passive) (required false) (negated false) (clock false) (forced_net "") ) (signal 951f1edf-8985-40a8-8c06-1517bbe66d6e (name "P0_01/XL2") (role passive) (required false) (negated false) (clock false) (forced_net "") ) (signal 1121f776-64c7-4199-998d-7a1211805a45 (name "P0_04/AIN2") (role passive) (required false) (negated false) (clock false) (forced_net "") ) ; Reset signal (active low) (signal 024d9288-43a7-419b-ade5-62b5a65df84f (name "P0_21/!RST") (role passive) (required false) (negated false) (clock false) (forced_net "") ) ; Debug interface (signal ce907394-1c1a-4ea5-b93b-ea51c546ebde (name "SWDIO") (role passive) (required false) (negated false) (clock false) (forced_net "") ) (signal 929c6c67-a13c-4ca1-ab76-3cf83d6a743b (name "SWDCLK") (role passive) (required false) (negated false) (clock false) (forced_net "") ) ; RF signals (signal 5a6d0d8c-3688-44dd-b775-2f202d8fb62c (name "ANT") (role passive) (required false) (negated false) (clock false) (forced_net "") ) (signal d8e2b1e1-4fe6-49c4-a93c-dfac6b591066 (name "DCC") (role passive) (required false) (negated false) (clock false) (forced_net "") ) ; Decoupling pins (signal 92dd8a01-dfe4-493f-a2e3-5a6e27dac325 (name "DEC1") (role passive) (required false) (negated false) (clock false) (forced_net "") ) (signal 7fadafad-4e8f-4fab-9fa4-328842768d98 (name "DEC2") (role passive) (required false) (negated false) (clock false) (forced_net "") ) ; Variant with symbol reference and pin mappings (variant f70cb26c-5ff3-4e52-823a-fe0712f2f5c8 (norm "") (name "default") (description "") (gate 71308532-a0aa-4c99-8cd2-7ba89f4ad944 (symbol 98101e70-22a6-455f-813a-ef76f9d2d150) (position 0.0 0.0) (rotation 0.0) (required true) (suffix "") ; Map symbol pins to component signals (pin 5bad3dd8-7c19-4987-bb48-ccdd9b2e621d (signal 3eb0f697-0d5c-4682-888e-cfe0b7b08a3b) (text signal)) (pin e8e1891f-70d5-46d6-b33e-9b0162f76d82 (signal ba04b325-a8d4-4680-a096-b2705dca350d) (text signal)) (pin bff5b169-bb6b-4f78-b30f-bcfca213b462 (signal a6d7a503-b1bc-453f-a49c-2f543e3848c0) (text signal)) (pin 02275aba-e2ab-415d-9aa3-bad01be983c1 (signal 024d9288-43a7-419b-ade5-62b5a65df84f) (text signal)) (pin fd6237c5-cd1f-4d25-ab73-ef457f2df227 (signal ce907394-1c1a-4ea5-b93b-ea51c546ebde) (text signal)) (pin 4c4c1563-5fb2-4a65-b0e0-3f627b5d6439 (signal 929c6c67-a13c-4ca1-ab76-3cf83d6a743b) (text signal)) ) ) (approved name_not_title_case) ) ``` -------------------------------- ### Define nRF52810-QCxx Schematic Symbol (LibrePCB Lisp) Source: https://context7.com/librepcb-libraries/nordic.lplib/llms.txt Defines the schematic symbol for the nRF52810-QCxx microcontroller using LibrePCB's Lisp-based format. It specifies pin configurations, graphical outlines, and placeholder texts for component name and value. This format is specific to LibrePCB library definitions. ```lisp (librepcb_symbol 98101e70-22a6-455f-813a-ef76f9d2d150 (name "nRF52810-QCxx") (description "Bluetooth 5.2 SoC supporting Bluetooth Low Energy.\n\nQFN32 package variant.") (keywords "nrf52,nrf52810,bluetooth,ble,soc") (author "Danilo Bargen") (version "0.2") (created 2020-05-05T12:14:22Z) (deprecated false) (generated_by "") (category 22151601-c2d9-419a-87bc-266f9c7c3459) (category 7c698c64-e0f4-4885-bc29-566c4828071e) ; Power pins on left side (top) (pin 5bad3dd8-7c19-4987-bb48-ccdd9b2e621d (name "VDD") (position -15.24 20.32) (rotation 0.0) (length 2.54) (name_position 3.81 0.0) (name_rotation 0.0) (name_height 2.5) (name_align left center) ) (pin e8e1891f-70d5-46d6-b33e-9b0162f76d82 (name "VSS") (position -15.24 15.24) (rotation 0.0) (length 2.54) (name_position 3.81 0.0) (name_rotation 0.0) (name_height 2.5) (name_align left center) ) ; Decoupling pins on left side (pin 2d52aacb-9189-4bbe-b8f4-43dee724b3eb (name "DEC1") (position -15.24 5.08) (rotation 0.0) (length 2.54) (name_position 3.81 0.0) (name_rotation 0.0) (name_height 2.5) (name_align left center) ) (pin 87b29d5f-5dbb-4865-bcdf-6a5943283483 (name "DCC") (position -15.24 10.16) (rotation 0.0) (length 2.54) (name_position 3.81 0.0) (name_rotation 0.0) (name_height 2.5) (name_align left center) ) ; Debug pins on left side (bottom) (pin fd6237c5-cd1f-4d25-ab73-ef457f2df227 (name "SWDIO") (position -15.24 -20.32) (rotation 0.0) (length 2.54) (name_position 3.81 0.0) (name_rotation 0.0) (name_height 2.5) (name_align left center) ) (pin 4c4c1563-5fb2-4a65-b0e0-3f627b5d6439 (name "SWDCLK") (position -15.24 -22.86) (rotation 0.0) (length 2.54) (name_position 3.81 0.0) (name_rotation 0.0) (name_height 2.5) (name_align left center) ) ; GPIO pins on right side (180 degree rotation) (pin bff5b169-bb6b-4f78-b30f-bcfca213b462 (name "P0_00/XL1") (position 15.24 20.32) (rotation 180.0) (length 2.54) (name_position 3.81 0.0) (name_rotation 0.0) (name_height 2.5) (name_align left center) ) (pin d8b2a1f5-4f20-4c05-bbbf-c15a4698c075 (name "P0_01/XL2") (position 15.24 17.78) (rotation 180.0) (length 2.54) (name_position 3.81 0.0) (name_rotation 0.0) (name_height 2.5) (name_align left center) ) (pin 3facce98-2797-4812-b116-99d19c35ba71 (name "P0_04/AIN2") (position 15.24 15.24) (rotation 180.0) (length 2.54) (name_position 3.81 0.0) (name_rotation 0.0) (name_height 2.5) (name_align left center) ) (pin 02275aba-e2ab-415d-9aa3-bad01be983c1 (name "P0_21/!RST") (position 15.24 -12.7) (rotation 180.0) (length 2.54) (name_position 3.81 0.0) (name_rotation 0.0) (name_height 2.5) (name_align left center) ) (pin 70ef2288-c329-441c-965a-afc3b9557a48 (name "P0_30/AIN6") (position 15.24 -20.32) (rotation 180.0) (length 2.54) (name_position 3.81 0.0) (name_rotation 0.0) (name_height 2.5) (name_align left center) ) ; Rectangular outline: 25.4mm x 48.26mm (polygon 4f5e2c68-90ff-4d7e-a40d-e44fbeb40a98 (layer sym_outlines) (width 0.2) (fill false) (grab_area true) (vertex (position -12.7 22.86) (angle 0.0)) (vertex (position 12.7 22.86) (angle 0.0)) (vertex (position 12.7 -25.4) (angle 0.0)) (vertex (position -12.7 -25.4) (angle 0.0)) (vertex (position -12.7 22.86) (angle 0.0)) ) ; Component name and value placeholders (text b5778c9a-fa80-43cb-bcaf-417346ac0e72 (layer sym_names) (value "{{NAME}}") (align left bottom) (height 2.5) (position -12.7 22.86) (rotation 0.0) ) (text 6ee46020-28fc-4cc3-8b66-dbdcf54e1d8a (layer sym_values) (value "{{VALUE}}") (align left top) (height 2.5) (position -12.7 -25.4) (rotation 0.0) ) (approved name_not_title_case) ) ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.